package it.polimi.traveldream.ejb;

import java.io.Serializable;

import javax.persistence.*;

import java.util.List;


/**
 * The persistent class for the Aeroporto database table.
 * 
 */
@Entity
@Table(name="Aeroporto")
@NamedQueries({
	@NamedQuery(name="Aeroporto.findById", query="SELECT a FROM Aeroporto a WHERE a.codIata = ?1"),
	@NamedQuery(name="Aeroporto.findAll", query="SELECT a FROM Aeroporto a")
})
public class Aeroporto implements Serializable {
	private static final long serialVersionUID = 1L;
	private String codIata;
	private String citta;
	private String nome;
	private List<Volo> voliPartenza;
	private List<Volo> voliArrivo;

	public static final String FIND_ALL="Aeroporto.findAll";
	
	public static final String FINDIATA = "Aeroporto.findById";

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	public String getCodIata() {
		return this.codIata;
	}

	public void setCodIata(String codIata) {
		this.codIata = codIata;
	}


	public String getCitta() {
		return this.citta;
	}

	public void setCitta(String citta) {
		this.citta = citta;
	}


	public String getNome() {
		return this.nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}


	//bi-directional many-to-one association to Volo
	@OneToMany(mappedBy="aeroportoPartenza")
	public List<Volo> getVoliPartenza() {
		return this.voliPartenza;
	}

	public void setVoliPartenza(List<Volo> volos1) {
		this.voliPartenza = volos1;
	}

	public Volo addVoloPartenza(Volo volos1) {
		getVoliPartenza().add(volos1);
		volos1.setAeroportoPartenza(this);

		return volos1;
	}

	public Volo removeVoloPartenza(Volo volos1) {
		getVoliPartenza().remove(volos1);
		volos1.setAeroportoPartenza(null);

		return volos1;
	}


	//bi-directional many-to-one association to Volo
	@OneToMany(mappedBy="aeroportoArrivo")
	public List<Volo> getVoliArrivo() {
		return this.voliArrivo;
	}

	public void setVoliArrivo(List<Volo> volos2) {
		this.voliArrivo = volos2;
	}

	public Volo addVolosArrivo(Volo volos2) {
		getVoliArrivo().add(volos2);
		volos2.setAeroportoArrivo(this);

		return volos2;
	}

	public Volo removeVolos2(Volo volos2) {
		getVoliPartenza().remove(volos2);
		volos2.setAeroportoArrivo(null);

		return volos2;
	}

}